快速找到 facade 中对应的类
1 2 3
| Route::get('test', function(){ dd(get_class(HTML::getFacadeRoot())); });
|
或者使用 idehelper
将数据表里的数据导出成 Seeder 文件
- composer require orangehill/iseed
- 在 config/app.php 文件中添加 Service Provider
- php artisan iseed 后面带上本地数据表的名称, 可直接将数据库表的内容转换为 seeder 文件
- 强制覆盖导出文件 – force
建议 使用模型工厂来填充数据
模型工厂
避免
1
| factory(\App\Models\User::class)->times(300)->create();
|
正确的做法:使用 make 方法
1 2
| $users = factory(\App\Models\User::class)->times(1000)->make(); \App\Models\User::insert($users->toArray());
|
传统方式
避免
1 2 3 4 5 6 7 8 9 10 11
| $faker = Faker::create(); $users = User::lists('id'); foreach (range(1, 1000) as $index) { Topic::create([ 'user_id' => $faker->randomElement($users), 'title' => $faker->sentence(), 'description' => $faker->text(), ]); }
|
解决方案,使用 DB:insert
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| $faker = Faker::create(); $users = User::lists('id'); $datas = []; foreach (range(1, 1000) as $index) { $datas[] = [ 'user_id' => $faker->randomElement($users), 'title' => $faker->sentence(), 'description' => $faker->text(), 'created_at' => Carbon::now()->toDateTimeString(), 'updated_at' => Carbon::now()->toDateTimeString(), ]; } DB::table('topics')->insert($datas);
|
坑
如果通过 PECL 安装 Redis PHP 扩展,则需要重命名 config/app.php 文件里的 Redis 别名。